1. Field of the Invention
The field of the invention is digital controllers, and more particularly, programmable controllers that use I/O modules to couple I/O devices to a main processor.
2. Description of the Prior Art
Various forms of multiplexing are well known. Analog multiplexing circuit chips are widely used to perform a switching function, where individual analog input channels are connected in sequence to a single data input channel, as directed by coded channel select signals received at control inputs on the chip. Each analog signal is then converted to eight bits of parallel digital data, known as a byte, which is then coupled to a processor.
An example of multiplexing a large number of digital inputs is seen in FIG. 4 of LaRocca, et al, U.S. Pat. No. 4,047,003, issued Sept. 6, 1977. There bytes of data are coupled to an 8-bit data bus through sets of gates that are sequentially enabled by signals from a counter.
In both of the above examples it is assumed that the digital data channel is a minimum of eight bits (a byte) wide. This simple type of multiplexing is not sufficient for many programmable controller applications for two reasons. First, for high density multiplexing, the limited number of I/O data terminals must be used more efficiently to obtain more than a one-to-one ratio of I/O terminals to I/O devices. There is not the same amount of physical space available for external I/O module connections that is available when these connections are made internally on a module, and using eight I/O terminals on the machine/process side of the module uses most of the available I/O terminals. Second, if data is received in groups other than bytes, it must be assembled into data words of a size that are conveniently transferred to a main processor during an I/O scan. The above examples of the prior art do not show how to multiplex a large number of I/O devices through a limited number of I/O terminals to a processor that executes a periodic I/O scan routine.